package com.itheima.dao;


import com.itheima.pojo.Role;
import com.itheima.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Set;

@Mapper
public interface UserDao {

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户
     */
    @Select("select * from t_user where username = #{username}")
    User loadUserByUsername(String username);


    /**
     * 根据用户id查询用户拥有的角色
     * @param userId 用户id
     * @return 用户拥有的角色
     */
    @Select("SELECT r.*  FROM t_user_role ur LEFT JOIN t_role r ON r.id = ur.role_id  WHERE ur.user_id = #{userId}")
    Set<Role> loadRolesByUserId(Integer userId);
}
